/*
 * EstudiantePoo.cpp
 *
 *  Created on: Nov 8, 2012
 *      Author: Carlos Alegría
 */

#include "EstudiantePoo.h"

namespace poo
{

  // Implementación del constructor de la clase
  //
  EstudiantePoo::EstudiantePoo(const string &nombreCompleto,
      const string &direccion, int edad, const string &rfc,
      const string &empresa, const string &noDeCuenta, NivelDeEstudios nivel,
      int semestre, int noAlegria) :
      Persona(nombreCompleto, direccion, edad),
      Estudiante(nombreCompleto, direccion, edad, noDeCuenta, nivel, semestre),
      Empleado(nombreCompleto, direccion, edad, rfc, empresa),
      noAlegria(noAlegria), participaciones(0)
  {
  }

  // Implementación del destructor de la clase
  EstudiantePoo::~EstudiantePoo()
  {
  }

  ostream &
  operator<<(ostream &out, const EstudiantePoo *estudiantePOO)
  {
    out << "Empleado: " << endl;
    out << dynamic_cast<const Empleado *>(estudiantePOO) << endl;
    out << "Estudiante: " << endl;
    out << dynamic_cast<const Empleado *>(estudiantePOO) << endl;
    out << "Estudiante POO: " << endl;
    out << "Número de alegría: " << estudiantePOO->noAlegria << endl;
    out << "Participaciones:   " << estudiantePOO->participaciones << endl;

    return out;
  }

} /* namespace poo */
